import { post, get } from '@/utils/request';
import { User } from '@/pages/backhub/common/user/store/userTypes';

/**
 * 获取用户列表
 * @returns 用户列表
 */
export const getUserList = async (): Promise<User[]> => {
  return get(`/engine/starhub/sysUser/getList`);
};

/**
 * 获取用户列表
 * @returns 用户列表
 */
export const getActiveUser = async (): Promise<any[]> => {
  return get(`/engine/starhub/sysUser/getActiveUser`);
};


/**
 * 获取角色列表
 * @returns 角色列表
 */
export const getActiveRole = async (): Promise<any[]> => {
  return get(`/engine/starhub/role/getActiveRole`);
};

/**
 * 获取用户信息
 * @returns 用户信息
 */
export const getInfo = async (id: string): Promise<User[]> => {
  return get(`/engine/starhub/sysUser/getInfo/${id}`);
};

/**
 * 创建用户
 * @param data 用户数据
 * @returns 创建的用户
 */
export const createUser = async (data: Partial<User>): Promise<User> => {
  return post(`/engine/starhub/sysUser/add`, data);
};

/**
 * 更新用户
 * @param id 用户ID
 * @param data 更新的数据
 * @returns 更新后的用户
 */
export const updateUser = async (id: string, data: Partial<User>): Promise<User> => {
  data.id = id ;
  return post(`/engine/starhub/sysUser/update`, data);
};

/**
 * 删除用户
 * @param id 用户ID
 */
export const deleteUser = async (ids: string): Promise<void> => {
  return post(`/engine/starhub/sysUser/delete`, { ids });
};


/**
 * 批量更新密码
 * @param id 用户ID
 * @param data 更新的数据
 * @returns 更新后的用户
 */
export const batchUpdatePwd = async (data: any): Promise<void> => {
  return post(`/engine/starhub/sysUser/batchUpdatePwd`, data);
};


/**
 * 重置密码
 * @param id 用户ID
 * @param data 更新的数据
 * @returns 更新后的用户
 */
export const resetPassword = async (data: any): Promise<void> => {
  return post(`/engine/starhub/sysUser/resetPassword`, data);
};